<?php
defined('CORE') or exit('Request Error!');

/**
 * 加载配置文件 支持格式转换 仅支持一级配置
 * @param string $file 配置文件名
 * @param string $parse 配置解析方法 有些格式需要用户自己解析
 * @return array
 */
function load_config($file, $parse = NULL)
{
    $ext = pathinfo($file, PATHINFO_EXTENSION);
    switch($ext)
    {
        case 'php':
            return include $file;
        case 'ini':
            return parse_ini_file($file);
        case 'xml': 
            return (array)simplexml_load_file($file);
        case 'json':
            return json_decode(file_get_contents($file), true);
        default:
            if(function_exists($parse))
            {
                return $parse($file);
            }
            else
            {
                exit('config error.');
            }
    }
}

/**
 * config
 * 
 * @author Lane<61647649@qq.com> 
 * @param mixed $name 配置选项名
 * @param mixed $value 配置选项值
 * @param mixed $default 默认值
 * @return void
 */
function config($name=NULL, $value=NULL, $default=NULL)
{
    global $config;
    if (empty($name)) 
    {
        return $config;
    }

    if (is_string($name)) 
    {
        //echo '<pre>';print_r($name);echo '</pre>';
        if (is_null($value)) 
        {
            return isset($config[$name]) ? $config[$name] : $default;
        }
        else 
        {
            $config[$name] = $value;
            return NULL;
        }
    }
}

/**
 * 生成并发送验证码
 */
function send_sms($phone, $timestamp = 90)
{
    $chars = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
    shuffle($chars);
    $temp = array_slice($chars, 0, 6);
    $code = implode('', $temp);
    $content = "3k玩平台验证码：{$code}（泄露有风险）.";
    $timeout = time() + $timestamp;
    $flag    = cls_sms::send_sms($phone, $content);
    return array($flag, array('code' => $code, 'timeout' => $timeout));
}

